using CthulhuDomain.Services;
using Microsoft.Xna.Framework.Input;

namespace CthulhuDomain.StageManagement
{
  public abstract class Stage
  {
    protected IGameServiceProvider GameServiceProvider { get; set; }
    public IGraphicResource Font { get; set; }
    public abstract IColor BackgroundColor { get; set; }
    public virtual int Level { get; set; }
    public abstract void LoadContent();

    public abstract StateManagerResult Update(IRectangle context, Keys[] pressedKeys, IGameTime gameTime);

    public abstract void Draw();

    public abstract void Initialize();

  }
}